﻿
/*** ASIGNAR TALLER ***/

$(document).ready(function () {

    $("#principal").delegate('#grabarAsignacionTaller', 'click', function () {
        //alert("Vamos a grabar");
        //cargarAsignarTaller();

        //        var SearchFieldsTable = $("#tablaDetalleTallerList tbody");
        //        var trows = SearchFieldsTable[0].rows;

        //        $.each(trows, function (index, row) {
        //            //var idProducto = $(row).attr("data-idproducto");
        //            //            alert($(row).find(".cantTaller").val());
        //            //            alert($(row).attr("data-iddetallepedido"));
        //            //            alert($(row).find(".idTaller").val());
        //            grabarAsignacionTaller($(row).find(".idTaller").val(), $(row).attr("data-iddetallepedido"), $(row).find(".cantTaller").val());
        //        });
        var rpta = grabarProgramacionTaller();
        //alert("grabarProgramacion " + rpta);
        //        if (Boolean(rpta)) {
        //            alert("Se asignó los Talleres correctamente");
        //        }

    });

    function grabarProgramacionTaller() {

        var radioSelected = $('input[name=chkAsignaTallerProducto]:checked');
        var total = radioSelected.attr("data-cantidadAsignada");
        var idDetalleOp = radioSelected.val();
        var idProgramacion = radioSelected.attr("data-idProgramacion");

        var table = $('#tablaDetalleProgramacionTallerList');
        $('tr[id="noHayTalleres"]').remove();


        var canIngresada = 0;
        var dataIsValid = true;
        table.find('tbody >tr').each(function () {
            var cantAsig = $(this).find('.txtcantAsignadaTaller').val();
            canIngresada = Number(cantAsig);
            $('td', this).css({ 'background-color': 'white' });
            if (canIngresada == 0) {
                alert("El valor de asignación debe ser mayor que 0");
                $('td', this).css({ 'background-color': 'red' });
                dataIsValid = false;
            }
        });
        if (!Boolean(dataIsValid)) {
            return false;
        }

        var suma = 0;
        table.find('tbody >tr').each(function () {
            var cantAsig = $(this).find('.txtcantAsignadaTaller').val();
            suma += Number(cantAsig);
        });
        if (suma > total) {
            alert("No puede asignar una cantidad mayor a la Cantidad Solicitada.");
            return false;
        } else {
            alert("Se asignó los Talleres correctamente");
        }

        suma = 0;
        table.find('tbody >tr').each(function () {

            //var idProgra = $(this).attr("data-idProgra");
            var idTaller = $(this).attr("data-idTaller");
            var cantAsig = $(this).find('.txtcantAsignadaTaller').val();
            suma += Number(cantAsig);

            $.ajax({
                url: URL_PAGE + 'Supervisor/Main/GrabarAsignacionTaller',
                type: 'POST',
                data: {
                    idDetalleOP: idDetalleOp,
                    idProgramacion: idProgramacion,
                    idTaller: idTaller,
                    cantAsignadas: cantAsig
                },
                success: function (data) {
                    if (data) {
                        radioSelected.attr("data-idProgramacion", data);
                    }
                }
            });
        });

        //alert("idDO " + idDO);
        //        alert("total " + total);
        //        alert("suma " + suma);
        //        alert("resta " + Number(total) - suma);
        //alert($('tr[data-iddetallepedido="' + idDO + '"]').find('.cantAsignadaTaller').attr("id"));
        $('tr[data-iddetallepedido="' + idDetalleOp + '"]').find('.cantAsignadaTaller').val(Number(total) - suma);

        return true;

    }

    function grabarAsignacionTaller(tallerID, detalleOpID, cantidad) {
        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/GrabarAsignacionTaller',
            type: 'POST',
            data: { idTaller: tallerID,
                idDetalleOP: detalleOpID,
                cantAsignadas: cantidad
            },
            success: function (data) {

                $(".buscarTDDetalle").html('');
                $(".buscarTDDetalle").html(data);

            }
        });
    }

    /**** inicio: MENU ****/

    $(".mnuAsignarTaller").click(function () {
        cargarAsignarTaller();
        cargarListaAsignarTaller(0);
        cargarListaAsignarTallerTalleres(0);
    });

    $(".mnuActualizarProgramacion").click(function () {
        cargarActualizarProgramacion();
        cargarListaActualizarProgramacion(0, "");
        cargarListaEntregas(0, 0);
    });

    $(".mnuRegistrarAvanceProduccion").click(function () {
        cargarRegistrarAvanceProduccion();
        cargarListaRegistrarAvanceProduccion(0, "");
        cargarListaEntregasEjecucion(0, 0);
    });

    $(".mnuGenerarAgendaVisitas").click(function () {
        cargarGenerarAgendaVisitas();
        cargarListadetalleAgendaVisitas(null);
    });

    $(".mnuGenerarCotizacion").click(function () {
        cargarmnuGenerarCotizacion();
    });

    /**** fin: MENU ****/







    /* Programacion */
    $("#principal").delegate('#grabarProgramacion', 'click', function () {
        grabarActualizarProgramacion();
    });

    $("#principal").delegate('.chkProgramacionTaller', 'click', function () {
        var idProg = $(this).attr("data-idProgramacion");
        cargarListaEntregas(idProg, $(this).val());
    });

    /* Registrar Avance de Produccion  */

    $("#principal").delegate('#grabarAvanceProduccion', 'click', function () {
        grabarRegistrarAvanceProduccion();
    });

    $("#principal").delegate('.chkProduccionTaller', 'click', function () {
        var idProg = $(this).attr("data-idProgramacion");
        cargarListaEntregasEjecucion(idProg, $(this).val());
    });

    /* Generar Cotizacion */
    $("#principal").delegate('.selectEstadoSolicitud', 'change', function () {
        cargarListaGenerarCotizacion($(this).val());
    });

    $("#principal").delegate('.chkSolicitudCotizacion', 'click', function () {
        cargarListaSolicitudCotizacionProductos($(this).val());
    });

    $("#principal").delegate('#solicitudCotizacionAprobar', 'click', function () {
        grabarSolicitudCotizacionAprobar($(this).attr("data-IdSolicitud"));
    });
    $("#principal").delegate('#solicitudCotizacionRechazar', 'click', function () {
        grabarSolicitudCotizacionRechazar($(this).attr("data-IdSolicitud"));
    });

    function grabarSolicitudCotizacionAprobar(idSolicitud) {

        var rpta = confirm("¿Desea Aprobar y Guardar la Cotización?");

        if (rpta == false) {
        } else {

            var fechaEntrega = $('tr[data-IdSolicitud="' + idSolicitud + '"]').find('.txtFechaEntrega').val();

            $.ajax({
                url: URL_PAGE + 'Supervisor/Main/AprobarSolicitudCotizacion',
                type: 'POST',
                data: {
                    idSolicitud: idSolicitud,
                    fechaEntrega: fechaEntrega
                },
                success: function (data) {
                    if (data) {
                        cargarListaGenerarCotizacion("Sin Atender");
                    }
                }
            });

            alert("Se grabo la cotización correctamente");
        }

    }
    function grabarSolicitudCotizacionRechazar(idSolicitud) {

        var rpta = confirm("¿Desea Rechazar la Cotización?");

        if (rpta == false) {
        } else {

            $.ajax({
                url: URL_PAGE + 'Supervisor/Main/RechazarSolicitudCotizacion',
                type: 'POST',
                data: {
                    idSolicitud: idSolicitud
                },
                success: function (data) {
                    if (data) {
                        cargarListaGenerarCotizacion("Sin Atender");
                    }
                }
            });

            alert("Se grabo la cotización correctamente");
        }

    }

    function grabarActualizarProgramacion() {

        var table = $('#tableProgramacion');

        var dataIsValid = true;

        table.find('tbody >tr').each(function () {

            $('td', this).css({ 'background-color': 'white' });

            var cantEnt = $(this).find('.txtCantidadEntregas').val();

            if (cantEnt.indexOf(".")>-1) {
                alert("Solo se aceptan valores enteros");
                $('td', this).css({ 'background-color': 'red' });
                dataIsValid = false;
                return;
            }

        });
        if (!Boolean(dataIsValid)) {
            return;
        }

        table.find('tbody >tr').each(function () {

            $('td', this).css({ 'background-color': 'white' });

            var cantEnt = $(this).find('.txtCantidadEntregas').val();
            var cantAsig = $(this).attr("data-cantAsig");

            if (Number(cantEnt) > Number(cantAsig)) {
                alert("La cantidad de entregas ingresada supera la cantidad del pedido");
                $('td', this).css({ 'background-color': 'red' });
                //$(this).find('.txtCantidadEntregas').val(0);
                dataIsValid = false;
                return;
            }

        });

        if (!Boolean(dataIsValid)) {
            return;
        }

        table.find('tbody >tr').each(function () {

            var idProgra = $(this).attr("data-idProgra");
            var idTaller = $(this).attr("data-idTaller");
            var IdDetOP = $(this).attr("data-IdDetOP");
            var cantEnt = $(this).find('.txtCantidadEntregas').val();

            $.ajax({
                url: URL_PAGE + 'Supervisor/Main/ActualizarDatosProgramacion',
                type: 'POST',
                data: {
                    Id_Programacion: idProgra,
                    Id_Taller: idTaller,
                    CantidadEntregas_Programacion: cantEnt
                },
                success: function (data) {
                    if (data) {

                    }
                }
            });

        });

        alert("Se actualizo la programación correctamente");
    }

    function grabarRegistrarAvanceProduccion() {

        var rpta = confirm("¿Desea guardar la información?");

        if (rpta == false) {
        } else {

            var table = $('#tablaDetalleProgramacionTallerList');
            var dataIsValid = true;
            table.find('tbody >tr').each(function () {
                $('td', this).css({ 'background-color': 'white' });
                var cantEjecutada = $(this).find('.txtCantidadEjecutada').val();
                var cantProgramada = $(this).find('.txtCantidadProgramada').val();

                if (Number(cantEjecutada) > Number(cantProgramada)) {
                    alert("La cantidad supera lo programado");
                    $('td', this).css({ 'background-color': 'red' });
                    //$(this).find('.txtCantidadEjecutada').val(0);
                    dataIsValid = false;
                    return;
                }
            });

            if (!Boolean(dataIsValid)) {
                return;
            }

            table.find('tbody >tr').each(function () {

                var idEntrega = $(this).attr("data-idEntrega");
                var cantidadEjecutada = $(this).find('.txtCantidadEjecutada').val();
                var idProgramacion = $(this).attr("data-idProgramacion");
                var idTaller = $(this).attr("data-idTaller");

                $.ajax({
                    url: URL_PAGE + 'Supervisor/Main/GrabarRegistrarAvanceProduccion',
                    type: 'POST',
                    data: {
                        idEntrega: idEntrega,
                        cantidadEjecutada: cantidadEjecutada
                    },
                    success: function (data) {
                        if (data) {
                            cargarListaEntregasEjecucion(idProgramacion, idTaller);
                        }
                    }
                });
            });

            alert("Se actualizo la ejecución correctamente");
        }
    }


    //    $("#principal").delegate('#muestraCalendario', 'click', function () {
    //        muestraCalendario();
    //    });

    //    function muestraCalendario() {

    //        $.ajax({
    //            url: URL_PAGE + 'Supervisor/Main/MuestraCalendario',
    //            type: 'POST',
    //            //data: { numeroSol: nroSol },
    //            success: function (data) {
    //                $(".buscarTDDetalle").html('');
    //                $(".buscarTDDetalle").html(data);
    //            }
    //        });

    ////        $.ajax({
    ////            url: URL_PAGE + 'Supervisor/Main/ObtenerFechasCalendarioProgramacion',
    ////            type: 'POST',
    ////            //data: { numeroSol: nroSol },
    ////            success: function (data) {
    ////                $(".buscarTDDetalle").html('');
    ////                $(".buscarTDDetalle").html(data);
    ////            }
    ////        });
    //    }




    $("#principal").delegate('.buscarSolicitud', 'click', function () {
        cargarListaSolicitudCompraInsumo($("#principal").find(".tipo").val(), $("#principal").find("#descripcion").val(), $("#principal").find(".fechaSolicitud").val());
    });

    $("#principal").delegate('.nuevaSolicitud', 'click', function () {
        cargarNuevaSolicitudCompraInsumo(null);
        cargarNuevaListaSolicitudCompraInsumo(null);
    });


    /**** inicio: Modal ****/

    $("#principal").delegate('#buscarOP', 'click', function () {
        buscarOrdenPedido();
    });

    $("#principal").delegate('.seltaller', 'click', function () {
        var tr = $(this).closest('tr');
        var canAsig = tr.find(".cantAsignadaTaller").val();
        if (Number(canAsig) == 0) {
            alert("No puede agregar un taller más a la lista por haber llegado a asignar el total de la cantidad solicitada");
            return;
        }
        buscarTallerDisponible($(this).attr('data-tick'));
    });

    $("#principal").delegate('#botonBuscarDetalleOP', 'click', function () {
        cargarListaBusquedaPedido();
    });

    $("#principal").delegate('#botonBuscarDetalleTD', 'click', function () {
        cargarListaBusquedaTallerDisponible($("#fechaInicioTD").val(), $("#fechaFinTD").val());
    });

    function buscarOrdenPedido() {
        var modal = $('#modal-busqueda-pedido');
        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/BuscarOrdenPedido',
            type: 'POST',
            success: function (data) {
                modal.find(".modal-header").find("h3").html("Buscar Orden Pedido");
                modal.find(".modal-body").html(data);
                modal.css({
                    width: '955px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal();
            }
        });
    }

    function buscarTallerDisponible(tick) {
        var modal = $('#modal-busqueda-pedido');
        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/BuscarTallerDisponible',
            type: 'POST',
            success: function (data) {
                modal.find(".modal-header").find("h3").html("Buscar Taller Disponible");
                modal.find(".modal-body").html(data);
                modal.find(".modal-footer").find("#tick").val(tick);
                modal.css({
                    width: '950px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal();
            }
        });
    }

    function cargarListaBusquedaPedido() {

        var idSupervisor = null;
        var CodOrdenPedido = $("#numOP").val();
        var Asignado = $("#selectEstado").val();
        var FechaEntregaInicio = $("#fechaInicioOP").val();
        var FechaEntregaFin = $("#fechaFinOP").val();

        if (CodOrdenPedido == "" && Asignado == "-1" && FechaEntregaInicio == "" && FechaEntregaFin == "") {
            alert("Se requiere llenar uno de los campos de la búsqueda.");
            return;
        }

        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/BuscarOrdenPedidoList',
            type: 'POST',
            data: { idSupervisor: idSupervisor, FechaEntregaInicio: FechaEntregaInicio, FechaEntregaFin: FechaEntregaFin, CodOrdenPedido: CodOrdenPedido, Asignado: Asignado },
            success: function (data) {
                $(".buscarOPDetalle").html('');
                $(".buscarOPDetalle").html(data);
            }
        });
    }

    function cargarListaBusquedaTallerDisponible(fechaInicio, fechaFin) {

        if (fechaInicio == "" && fechaFin == "") {
            alert("Debe ingresar fechas");
            return;
        }

        if (fechaInicio == "" || fechaFin == "") {
            alert("Debe ingresar fecha " + (fechaInicio == "" ? "Inicio" : "Fin"));
            return;
        }

        var from = fechaInicio.split("/");
        var fi = new Date(from[2], from[1] - 1, from[0]);
        from = fechaFin.split("/");
        var ff = new Date(from[2], from[1] - 1, from[0]);

        //alert(fi + " > " +  ff);
        if (fi > ff) {
            alert("La fecha Fin no puede ser menor a la fecha Inicio");
            return;
        }

        from = $("#fechaCreacionOP").val().toString().split("/");
        var fc = new Date(from[2], from[1] - 1, from[0]);

        //alert(fi + " < " + fc);
        if (fi < fc) {
            alert("Fecha Inicio Disponibilidad debe ser posterior o igual a la fecha de creación de la orden de pedido");
            return;
        }

        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/BuscarTallerDisponibleList',
            type: 'POST',
            data: { fechaInicio: fechaInicio, fechaFin: fechaFin },
            success: function (data) {
                $(".buscarTDDetalle").html('');
                $(".buscarTDDetalle").html(data);
            }
        });
    }

    $("#principal").delegate('.bp-idop', 'click', function () {
        var modal = $('#modal-busqueda-pedido');
        modal.modal('hide');

        $("#nroOP").val($(this).attr('data-idop'));
        $("#fechaCreacionOP").val($(this).attr('data-fechaCreacion'));
        $("#fechaEntregaOP").val($(this).attr('data-fechaEntrega'));

        var opc = modal.attr("data-opc");
        if (opc == "AsignarTaller") {
            cargarListaAsignarTaller($(this).attr('data-idop'));
            cargarListaAsignarTallerTalleres(0);
        }
        if (opc == "ActualizarProgramacion") {
            cargarListaActualizarProgramacion($(this).attr('data-idop'), $(this).attr('data-fechaEntrega'));
            cargarListaEntregas(0, 0);
        }
        if (opc == "RegistrarAvanceProduccion") {
            cargarListaRegistrarAvanceProduccion($(this).attr('data-idop'), $(this).attr('data-fechaEntrega'));
            cargarListaEntregasEjecucion(0, 0);
        }

    });

    $("#principal").delegate('.bt-idtaller', 'click', function () {

        var modal = $('#modal-busqueda-pedido');
        modal.modal('hide');

        var tickEncontrado = modal.find(".modal-footer").find("#tick").val();

        var taller = $(this);

        $('#tablaDetalleProgramacionTallerList').each(function () {

            $('tr[id="noHayTalleres"]').remove();

            // Number of td's in the last table row
            //var n = $('tr:last td', this).length;
            var n = 5;
            var tds = '<tr data-idProgramacion="0" data-idTaller="' + taller.attr('data-idTaller') + '">';
            for (var i = 1; i < n; i++) {
                switch (i) {
                    case 1:
                        tds += '<td class="span2"><div class="colnombreTaller"><input type="text" class="txtnombreTaller"  data-idtaller="' + taller.attr('data-idTaller') + '" value="' + taller.attr('data-nombreTaller') + '" disabled="disabled" /></div></td>';
                        break;
                    case 2:
                        tds += '<td class="span1"><div class="colcantidadAsignadaTaller"><input type="text" class="txtcantAsignadaTaller" id="cantAsignadaTaller' + taller.attr('data-idTaller') + '" /></div></td>';
                        break;
                    case 3:
                        tds += '<td class="span1"><a class="btn btn-small deltaller" data-idTaller="' + taller.attr('data-idTaller') + '" href="#"><i class="icon-minus-sign"></i></a></td>';
                        break;
                    case 4:
                        tds += '<td class="span1"></td>';
                        break;
                }
            }
            tds += '</tr>';
            if ($('tbody', this).length > 0) {
                $('tbody', this).append(tds);
            } else {
                $(this).append(tds);
            }
        });



    });

    /**** fin: Modal ****/

    /* inicio: Asignar Taller */

    function cargarListaAsignarTaller(idOP) {

        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/AsignarTallerList',
            type: 'POST',
            data: { idOrdenPedido: idOP },
            success: function (data) {
                $(".detalleOP").html('');
                $(".detalleOP").html(data);
            }
        });
    }

    $("#principal").delegate('.chkAsignaTallerProducto', 'click', function () {
        cargarListaAsignarTallerTalleres($(this).val());
    });

    function cargarListaAsignarTallerTalleres(idDetallePedido) {
        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/AsignarTallerTalleresList',
            type: 'POST',
            data: { idDetallePedido: idDetallePedido },
            success: function (data) {
                $(".programacionTaller").html('');
                $(".programacionTaller").html(data);
            }
        });
    }

    $("#principal").delegate('.deltaller', 'click', function () {

        var idPT = $(this).attr("data-idProgramacion");
        var idDP = $(this).attr("data-idDetallePedido");
        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/EliminarProgramacionTaller',
            type: 'POST',
            data: { idDetallePedid: idDP, idProgramacionTaller: idPT },
            success: function (data) {
                $(".programacionTaller").html('');
                $(".programacionTaller").html(data);
            }
        });

        //var tr = $(this).closest('tr');
        //tr.remove();

        var radioSelected = $('input[name=chkAsignaTallerProducto]:checked');
        var total = radioSelected.attr("data-cantidadAsignada");
        var suma = 0;
        table.find('tbody >tr').each(function () {
            var cantAsig = $(this).find('.txtcantAsignadaTaller').val();
            suma += Number(cantAsig);
        });
        $('tr[data-iddetallepedido="' + idDetalleOp + '"]').find('.cantAsignadaTaller').val(Number(total) - suma);

        if (suma == 0) {
            alert("El detalle de orden de pedido no muestra mayor detalle");
        }

    });


    /* fin: Asignar Taller */



    /* Programacion */

    $("#principal").delegate('.buscarAV', 'click', function () {

        var fechaEntrega = $("#fechaEntrega").val();
        if (fechaEntrega == "") {
            alert("Ingrese una fecha de entrega");
            $("#fechaEntrega").focus();
        }
        cargarListadetalleAgendaVisitas($("#fechaEntrega").val());
    });

    function cargarListaEntregas(idProgramacion, idTaller) {
        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/ActualizarProgramacionEntregasList',
            type: 'POST',
            data: { idProgramacion: idProgramacion, idTaller: idTaller },
            success: function (data) {
                $(".detalleEntregas").html('');
                $(".detalleEntregas").html(data);
            }
        });
    }

    function cargarListaEntregasEjecucion(idProgramacion, idTaller) {
        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/RegistrarAvanceProduccionEntregasList',
            type: 'POST',
            data: { idProgramacion: idProgramacion, idTaller: idTaller },
            success: function (data) {
                $(".detalleEntregasEjecucion").html('');
                $(".detalleEntregasEjecucion").html(data);
            }
        });
    }

    function cargarListaActualizarProgramacion(idOP, fechaEntrega) {
        $("#nroOP").val(idOP);
        $("#fechaEntrega").val(fechaEntrega);
        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/ActualizarProgramacionList',
            type: 'POST',
            data: { idOrdenPedido: idOP },
            success: function (data) {
                $(".detalleProgramacion").html('');
                $(".detalleProgramacion").html(data);
            }
        });
    }

    function cargarListaRegistrarAvanceProduccion(idOP, fechaEntrega) {
        $("#nroOP").val(idOP);
        $("#fechaEntrega").val(fechaEntrega);
        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/RegistrarAvanceProduccionList',
            type: 'POST',
            data: { idOrdenPedido: idOP },
            success: function (data) {
                $(".detalleProgramacionEjecucion").html('');
                $(".detalleProgramacionEjecucion").html(data);
            }
        });
    }

    function cargarListadetalleAgendaVisitas(fechaEntrega) {
        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/AgendaVisitasList',
            type: 'POST',
            data: { fechaEntrega: fechaEntrega },
            success: function (data) {
                $(".detalleAgendaVisitas").html('');
                $(".detalleAgendaVisitas").html(data);
            }
        });
    }

    function cargarListaSolicitudCotizacionProductos(idSolicitud) {

        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/GenerarCotizacionProductosList',
            type: 'POST',
            data: { idSolicitud: idSolicitud },
            success: function (data) {
                $(".solicitudesCotizacionProductos").html('');
                $(".solicitudesCotizacionProductos").html(data);
            }
        });
    }

    function cargarListaGenerarCotizacion(estadoSolicitud) {

        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/GenerarCotizacionList',
            type: 'POST',
            data: { estadoSolicitud: estadoSolicitud },
            success: function (data) {
                $(".solicitudesCotizacion").html('');
                $(".solicitudesCotizacion").html(data);

                $(".solicitudesCotizacion").find(".txtFechaEntrega").datepicker();

            }
        });
    }


    $("#principal").delegate('.verMapa', 'click', function () {
        mostrarMapaTaller($(this).attr('data-RazonSocialTaller'), $(this).attr('data-localidad'));
    });

    function mostrarMapaTaller(razonSocialTaller, iframeMapa) {

        var modal = $('#modal-mostrar-mapa');

        modal.find(".modal-header").find("h3").html(razonSocialTaller);
        modal.find(".modal-body").html(iframeMapa);
        //modal.find(".modal-footer").find("#tipoSol").val(tipoSolicitud);
        modal.css({
            width: '900px',
            'margin-left': function () {
                return -($(this).width() / 2);
            }
        });

        modal.modal();
    }

    //Boton EDITAR de la busqueda de solicitudes
    $("#principal").delegate('.editarSolicitudInsumo', 'click', function () {
        //alert("Editando");
        cargarNuevaSolicitudCompraInsumo($(this).attr('data-numerosolicitud'));


    });

    //Boton eliminar de la busqueda de solicitudes
    $("#principal").delegate('.eliminarSolicitudInsumo', 'click', function () {
        if (confirm("Esta Seguro de eliminar el registro seleccionado")) {
            eliminarSolicitudInsumo($(this).attr('data-numerosolicitud'));
        }
    });

    //Boton ELIMINAR del DETALLE de solicitudes de insumo
    $("#principal").delegate('.eliminarDetalleSolicitudInsumo', 'click', function () {
        if (confirm("Esta Seguro de eliminar el registro seleccionado")) {
            eliminarDetalleSolicitudInsumo($(this).attr('data-numerosolicitud'), $(this).attr('data-codigoinsumo'));
        }
    });

    //Boton EDITAR del DETALLE de solicitudes de insumo
    $("#principal").delegate('.editarDetalleSolicitudInsumo', 'click', function () {
        //alert("editando");
        editarDetalleSolicitudInsumo($(this).attr('data-numerosolicitud'), $(this).attr('data-codigoinsumo'), $(this).attr('data-cantidad'));
    });

    $("#principal").delegate('.mantGrabar', 'click', function () {
        var descripcion = $("#principal").find(".Descripcion").val();
        var nroSol = $("#principal").find(".Numero_Solicitud").val();
        var tipoSol = $("#principal").find(".Tipo_Solicitud").val();
        var fechaSol = $("#principal").find(".Fecha_Solicitud").val();
        var fechaEnt = $("#principal").find(".Fecha_Entrega").val();

        if (confirm("Desea Guardar el Registro")) {
            grabarSolicitudInsumo(nroSol, tipoSol, fechaSol, fechaEnt, descripcion);
            //cargarSolicitudCompraInsumo();
        }
    });

    $("#principal").delegate('.salirSolicitud', 'click', function () {
        cargarSolicitudCompraInsumo();
    });

    function editarDetalleSolicitudInsumo(numSol, codIns, cant) {
        //alert("buscando insumo");
        var modal = $('#modal-insumo');
        //alert(modal.html);
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/BuscarInsumo',
            type: 'POST',
            data: { numeroSolicitud: numSol, idInsumo: codIns, cantidad: cant },
            success: function (data) {

                modal.find(".modal-header").find("h3").html("Buscar Insumo");
                modal.find(".modal-body").html(data);
                modal.find(".modal-body").find("#cantidadInsumo").addClass("validate[required]");
                modal.css({
                    width: '500px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal();
            }
        });
    }

    function eliminarDetalleSolicitudInsumo(numeroSolicitud, codigoInsumo) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/eliminarDetalleSolicitudInsumo',
            type: 'POST',
            data: { numSol: numeroSolicitud,
                codIns: codigoInsumo
            },
            success: function (data) {
                if (data) {
                    cargarNuevaListaSolicitudCompraInsumo();
                }
            }
        });
    }

    function imprimirSolicitudInsumo(numeroSolicitud) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/imprimirSolicitudInsumo',
            type: 'POST',
            data: { numSol: numeroSolicitud },
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
            }
        });
    }

    function eliminarSolicitudInsumo(numeroSolicitud) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/eliminarSolicitudInsumo',
            type: 'POST',
            data: { num_sol: numeroSolicitud },
            success: function (data) {
                if (data) {
                    cargarListaSolicitudCompraInsumo();
                }
            }
        });
    }

    function buscarInsumo(tipoSolicitud) {
        //alert("buscando insumo");
        var modal = $('#modal-insumo');
        //alert(modal.html);
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/BuscarInsumo',
            type: 'POST',
            success: function (data) {
                //alert("asdasds");

                modal.find(".modal-header").find("h3").html("Buscar Insumo");
                modal.find(".modal-body").html(data);
                modal.find(".modal-footer").find("#tipoSol").val(tipoSolicitud);
                modal.css({
                    width: '500px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal();
            }
        });
    }

    function grabarSolicitudInsumo(nroSol, tipoSol, fecSol, fecEnt, desc) {

        $.ajax({
            url: URL_PAGE + 'Administrador/Main/RegistrarSolicitudInsumo',
            type: 'POST',
            data: {
                Numero_Solicitud: nroSol,
                Tipo_Solicitud: tipoSol,
                Fecha_Solicitud: fecSol,
                Fecha_Entrega: fecEnt,
                Descripcion: desc
            },
            success: function (data) {
                if (data) {
                    //cargarNuevaListaSolicitudCompraInsumo();
                    cargarSolicitudCompraInsumo();
                    alert("La Solicitud de Compra se registro correctamente");
                }


            }
        });
    }

    function cargarNuevaSolicitudCompraInsumo(nroSol) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/MantSolicitudCompraInsumo',
            type: 'POST',
            data: { numeroSol: nroSol },
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
                $("#principal").find("#mantFechaSolicitud").datepicker();
                $("#principal").find("#mantFechaEntrega").datepicker();
                //Se carga el detalle de la solicitud de insumo
                cargarNuevaListaSolicitudCompraInsumo(nroSol);
            }
        });
    }

    function cargarAsignarTaller() {

        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/AsignarTaller',
            type: 'POST',
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
                //alert($("#principal").find("#fechaSolicitud").html());
                //$("#principal").find("#fechaSolicitud").datepicker();
                //cargarListaSolicitudCompraInsumo("", "", null);
            }
        });
    }

    function cargarActualizarProgramacion() {

        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/ActualizarProgramacion',
            type: 'POST',
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
            }
        });
    }

    function cargarRegistrarAvanceProduccion() {

        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/RegistrarAvanceProduccion',
            type: 'POST',
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
            }
        });
    }

    function cargarGenerarAgendaVisitas() {

        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/AgendaVisitas',
            type: 'POST',
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
            }
        });
    }

    function cargarmnuGenerarCotizacion() {

        $.ajax({
            url: URL_PAGE + 'Supervisor/Main/GenerarCotizacion',
            type: 'POST',
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
            }
        });
    }


    function cargarListaSolicitudCompraInsumo(tipoSol, desc, fecSol) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/SolicitudCompraInsumoList',
            type: 'POST',
            data: { tipoSolicitud: tipoSol, descripcion: desc, fechaSol: fecSol },
            success: function (data) {
                $("#principal").find("#detalleSolicitud").html('');
                $("#principal").find("#detalleSolicitud").html(data);
            }
        });
    }

    function cargarNuevaListaSolicitudCompraInsumo(nroSol) {
        //alert("cargando");
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/MantSolicitudCompraInsumoList',
            type: 'POST',
            data: { numeroSol: nroSol },
            success: function (data) {
                $("#principal").find("#mantDetalleSolicitud").html('');
                $("#principal").find("#mantDetalleSolicitud").html(data);


            }
        });
    }





    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /*SOLICITUD DE ORDEN DE COMPRA*/
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    $(".mnuSolicitudOrdenCompra").click(function () {

        cargarBusquedaOrdenCompra();
    });


    function cargarBusquedaOrdenCompra() {

        $.ajax({
            url: URL_PAGE + 'Administrador/Main/OrdenCompra',
            type: 'POST',
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);

                $("#principal").find("#fechaSolicitudInicio").datepicker();
                $("#principal").find("#fechaSolicitudFin").datepicker();

                cargarListOrdenCompra();
            }
        });
    }

    function cargarListOrdenCompra() {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/DetalleOrdenCompra',
            type: 'POST',
            //data: { tipoSolicitud: tipoSol, descripcion: desc, fechaSol: fecSol },
            success: function (data) {
                $("#principal").find("#detalleOrdenCompra").html('');
                $("#principal").find("#detalleOrdenCompra").html(data).fadeIn('slow');
            }
        });
    }

    $("#principal").delegate('#anularOrdenCompra', 'click', function () {
        //alert("Anular Orden de Compra");
        anularOrdenCompra();
    });


    $("#principal").delegate('#generarOrdenCompra', 'click', function () {
        if (confirm("Esta seguro de generar la Orden de Compra?")) {
            $('#tableDetalleOC tr').filter(':has(:checkbox:checked)').each(function () {
                generarOrdenCompra($(this).attr("data-codigoproveedor"));
            });
        }
        //alert("generando");
    });

    function generarOrdenCompra(idProveedor) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/generarOrdenCompra',
            type: 'POST',
            data: { codigoProveedor: idProveedor },
            success: function (data) {
                cargarListOrdenCompra();

                //Se genera la orden de compra en el servidor
                genericInNewWin(data);


                //                $("#principal").html('');
                //                $("#principal").html(data);
            }
        });
    }

    function anularOrdenCompra() {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/AnularOrdenCompra',
            type: 'POST',
            //data: { tipoSolicitud: tipoSol, descripcion: desc, fechaSol: fecSol },
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
            }
        });
    }

    function busquedaOC() {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/BuscarOrdenCompra',
            type: 'POST',
            //data: { tipoSolicitud: tipoSol, descripcion: desc, fechaSol: fecSol },
            success: function (data) {
                $("#principal").html('');
                $("#principal").html(data);
            }
        });
    }
    function anulacionOC(nro, motivoAnula) {
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/AnulacionOC',
            type: 'POST',
            data: { numeroOc: nro, motivo: motivoAnula },
            success: function (data) {
                //alert(data);
                //if (data.toString() == "True") {
                alert("La anulación se realizo exitosamente");
                cargarBusquedaOrdenCompra();

                //}
            }
        });
    }


    $("#principal").delegate('#buscarOrdenCompra', 'click', function () {
        //alert("buscando OC");
        busquedaOC();
    });


    $("#principal").delegate('#btnAnularOC', 'click', function () {
        if ($("#principal").find(".motivoAnulacion option:selected").val() == -1) {
            alert("Debe elegir un motivo para realizar la anulación");
            return false;
        }

        if (confirm("¿Está seguro de Anular la Orden de Compra?")) {
            anulacionOC($("#principal").find("#hidNroOc").val(), $("#principal").find(".motivoAnulacion option:selected").text());
        }
    });

    $("#principal").delegate('#btnSalirOC', 'click', function () {
        cargarBusquedaOrdenCompra();
    });

    $("#principal").delegate('.btn-VerDetalleInsumo', 'click', function () {
        verDetalleInsumo($(this).attr('data-nrooc'), $(this).attr('data-codigoproveedor'));
    });


    function verDetalleInsumo(nroOrdenCompra, codProveedor) {
        //alert("buscando insumo");
        var modal = $('#modal-detalleInsumo');
        //alert(modal.html);
        $.ajax({
            url: URL_PAGE + 'Administrador/Main/VerDetalleInsumo',
            type: 'POST',
            data: { numeroOC: nroOrdenCompra, codigoProveedor: codProveedor },
            success: function (data) {
                modal.find(".modal-header").find("h3").html("Detalle de Insumo");
                modal.find(".modal-body").html(data);
                //modal.find(".modal-footer").find("#tipoSol").val(tipoSolicitud);
                modal.css({
                    width: '700px',
                    'margin-left': function () {
                        return -($(this).width() / 2);
                    }
                });
                modal.modal();
            }
        });
    }



    $("#principal").delegate('.verPDFOrdenCompra', 'click', function () {
        //alert("reporteado");
        genericInNewWin($(this).attr("data-nrooc"));


    });

});



function genericInNewWin(nroOc) {
    //alert(nroOc);
    var oParam = { "numeroOc": "" };
    oParam.numeroOc = nroOc;
    $.ajax({
        url: '../../Main/ShowGenericReportInNewWin',
        data: JSON.stringify(oParam),
        type: 'POST',
        contentType: 'application/json;',
        dataType: 'json',
        success: function (data) {
            window.open("../AspNetForms/aspnetCRViewer.aspx", 'Reporte', 'fullscreen=yes, scrollbars=auto');
        },
        error: function () {
            alert("error!");
        }
    });


}